<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>usbps: xusbps.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.gif"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">usbps
   </div>
   <div id="projectbrief">Xilinx SDK Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xusbps_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xusbps.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_usb_ps___ep_out.html">XUsbPs_EpOut</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The following data structures are used internally by the L0/L1 driver.  <a href="struct_x_usb_ps___ep_out.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_usb_ps___ep_in.html">XUsbPs_EpIn</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The following data structure represents IN endpoint.  <a href="struct_x_usb_ps___ep_in.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_usb_ps___endpoint.html">XUsbPs_Endpoint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The following data structure represents an endpoint used internally by the L0/L1 driver.  <a href="struct_x_usb_ps___endpoint.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_usb_ps___setup_data.html">XUsbPs_SetupData</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The following structure is used by the user to receive Setup Data from an endpoint.  <a href="struct_x_usb_ps___setup_data.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_usb_ps___ep_setup.html">XUsbPs_EpSetup</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data structures used to configure endpoints.  <a href="struct_x_usb_ps___ep_setup.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_usb_ps___ep_config.html">XUsbPs_EpConfig</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint configuration structure.  <a href="struct_x_usb_ps___ep_config.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_usb_ps___device_config.html">XUsbPs_DeviceConfig</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="struct_x_usb_ps___device_config.html" title="The XUsbPs_DeviceConfig structure contains the configuration information to configure the USB control...">XUsbPs_DeviceConfig</a> structure contains the configuration information to configure the USB controller for DEVICE mode.  <a href="struct_x_usb_ps___device_config.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_usb_ps___config.html">XUsbPs_Config</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="struct_x_usb_ps___config.html" title="The XUsbPs_Config structure contains configuration information for the USB controller. ">XUsbPs_Config</a> structure contains configuration information for the USB controller.  <a href="struct_x_usb_ps___config.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> driver instance data.  <a href="struct_x_usb_ps.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga5a7ef0c01940cfeca4472b08b09e51f8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga5a7ef0c01940cfeca4472b08b09e51f8">XUSBPS_MAX_PACKET_SIZE</a>&#160;&#160;&#160;1024</td></tr>
<tr class="memdesc:ga5a7ef0c01940cfeca4472b08b09e51f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum value can be put into the queue head.  <a href="group__usbps__v2__2.html#ga5a7ef0c01940cfeca4472b08b09e51f8">More...</a><br /></td></tr>
<tr class="separator:ga5a7ef0c01940cfeca4472b08b09e51f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cfc1ddd6f334d4350d652e9b8ef2d7d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#a6cfc1ddd6f334d4350d652e9b8ef2d7d">XUsbPs_GetFrameNum</a>(InstancePtr)&#160;&#160;&#160;<a class="el" href="group__usbps__v2__2.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, <a class="el" href="group__usbps__v2__2.html#ga4157755424c1cf5507ad25cb27e279a1">XUSBPS_FRAME_OFFSET</a>)</td></tr>
<tr class="memdesc:a6cfc1ddd6f334d4350d652e9b8ef2d7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro returns the current frame number.  <a href="#a6cfc1ddd6f334d4350d652e9b8ef2d7d">More...</a><br /></td></tr>
<tr class="separator:a6cfc1ddd6f334d4350d652e9b8ef2d7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af222df779ee9f9dc1d681701a979f3d1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#af222df779ee9f9dc1d681701a979f3d1">XUsbPs_Start</a>(InstancePtr)&#160;&#160;&#160;<a class="el" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>(InstancePtr, <a class="el" href="group__usbps__v2__2.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a>, <a class="el" href="group__usbps__v2__2.html#ga52456fec470f635fe4e25fbd586e0367">XUSBPS_CMD_RS_MASK</a>)</td></tr>
<tr class="memdesc:af222df779ee9f9dc1d681701a979f3d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro starts the USB engine.  <a href="#af222df779ee9f9dc1d681701a979f3d1">More...</a><br /></td></tr>
<tr class="separator:af222df779ee9f9dc1d681701a979f3d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14248be9e30d77cb8f65ecedf8bfbdf0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#a14248be9e30d77cb8f65ecedf8bfbdf0">XUsbPs_Stop</a>(InstancePtr)&#160;&#160;&#160;<a class="el" href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a>(InstancePtr, <a class="el" href="group__usbps__v2__2.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a>, <a class="el" href="group__usbps__v2__2.html#ga52456fec470f635fe4e25fbd586e0367">XUSBPS_CMD_RS_MASK</a>)</td></tr>
<tr class="memdesc:a14248be9e30d77cb8f65ecedf8bfbdf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro stops the USB engine.  <a href="#a14248be9e30d77cb8f65ecedf8bfbdf0">More...</a><br /></td></tr>
<tr class="separator:a14248be9e30d77cb8f65ecedf8bfbdf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ddcdadfa686680d26c83a44ce5dd594"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#a1ddcdadfa686680d26c83a44ce5dd594">XUsbPs_ForceFS</a>(InstancePtr)</td></tr>
<tr class="memdesc:a1ddcdadfa686680d26c83a44ce5dd594"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro forces the USB engine to be in Full Speed (FS) mode.  <a href="#a1ddcdadfa686680d26c83a44ce5dd594">More...</a><br /></td></tr>
<tr class="separator:a1ddcdadfa686680d26c83a44ce5dd594"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6a63a477b73705c87fc4e4392ab1872"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#af6a63a477b73705c87fc4e4392ab1872">XUsbPs_StartTimer0</a>(InstancePtr,  Interval)</td></tr>
<tr class="memdesc:af6a63a477b73705c87fc4e4392ab1872"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro starts the USB Timer 0, with repeat option for period of one second.  <a href="#af6a63a477b73705c87fc4e4392ab1872">More...</a><br /></td></tr>
<tr class="separator:af6a63a477b73705c87fc4e4392ab1872"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec886a5a612b352fecd24d60259ebb5b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#aec886a5a612b352fecd24d60259ebb5b">XUsbPs_StopTimer0</a>(InstancePtr)</td></tr>
<tr class="memdesc:aec886a5a612b352fecd24d60259ebb5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro stops Timer 0.  <a href="#aec886a5a612b352fecd24d60259ebb5b">More...</a><br /></td></tr>
<tr class="separator:aec886a5a612b352fecd24d60259ebb5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad63046a069a39fd8683d8f1369cce8e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#aad63046a069a39fd8683d8f1369cce8e">XUsbPs_ReadTimer0</a>(InstancePtr)</td></tr>
<tr class="memdesc:aad63046a069a39fd8683d8f1369cce8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro reads Timer 0.  <a href="#aad63046a069a39fd8683d8f1369cce8e">More...</a><br /></td></tr>
<tr class="separator:aad63046a069a39fd8683d8f1369cce8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa7091750e5ec43f625c257e14fbe290"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#afa7091750e5ec43f625c257e14fbe290">XUsbPs_RemoteWakeup</a>(InstancePtr)</td></tr>
<tr class="memdesc:afa7091750e5ec43f625c257e14fbe290"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro force remote wakeup on host.  <a href="#afa7091750e5ec43f625c257e14fbe290">More...</a><br /></td></tr>
<tr class="separator:afa7091750e5ec43f625c257e14fbe290"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5dcc2f75c336bb6ea4c9697b0d88c1d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#ad5dcc2f75c336bb6ea4c9697b0d88c1d">XUsbPs_EpEnable</a>(InstancePtr,  EpNum,  Dir)</td></tr>
<tr class="memdesc:ad5dcc2f75c336bb6ea4c9697b0d88c1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro enables the given endpoint for the given direction.  <a href="#ad5dcc2f75c336bb6ea4c9697b0d88c1d">More...</a><br /></td></tr>
<tr class="separator:ad5dcc2f75c336bb6ea4c9697b0d88c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b9a6534a546a278e48e31c0f3f53cbf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#a5b9a6534a546a278e48e31c0f3f53cbf">XUsbPs_EpDisable</a>(InstancePtr,  EpNum,  Dir)</td></tr>
<tr class="memdesc:a5b9a6534a546a278e48e31c0f3f53cbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro disables the given endpoint for the given direction.  <a href="#a5b9a6534a546a278e48e31c0f3f53cbf">More...</a><br /></td></tr>
<tr class="separator:a5b9a6534a546a278e48e31c0f3f53cbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4273a108c512645b721b48997017205d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#a4273a108c512645b721b48997017205d">XUsbPs_EpStall</a>(InstancePtr,  EpNum,  Dir)</td></tr>
<tr class="memdesc:a4273a108c512645b721b48997017205d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro stalls the given endpoint for the given direction, and flush the buffers.  <a href="#a4273a108c512645b721b48997017205d">More...</a><br /></td></tr>
<tr class="separator:a4273a108c512645b721b48997017205d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca88c57543720b88f0bc0d194ec16271"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#aca88c57543720b88f0bc0d194ec16271">XUsbPs_EpUnStall</a>(InstancePtr,  EpNum,  Dir)</td></tr>
<tr class="memdesc:aca88c57543720b88f0bc0d194ec16271"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro unstalls the given endpoint for the given direction.  <a href="#aca88c57543720b88f0bc0d194ec16271">More...</a><br /></td></tr>
<tr class="separator:aca88c57543720b88f0bc0d194ec16271"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6674b216929ec8351518d1ecda9b4940"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#a6674b216929ec8351518d1ecda9b4940">XUsbPs_EpFlush</a>(InstancePtr,  EpNum,  Dir)</td></tr>
<tr class="memdesc:a6674b216929ec8351518d1ecda9b4940"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro flush an endpoint upon interface disable.  <a href="#a6674b216929ec8351518d1ecda9b4940">More...</a><br /></td></tr>
<tr class="separator:a6674b216929ec8351518d1ecda9b4940"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af88d5cf6ea7f26426bf40b8ca330a416"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#af88d5cf6ea7f26426bf40b8ca330a416">XUsbPs_IntrEnable</a>(InstancePtr,  IntrMask)&#160;&#160;&#160;<a class="el" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>(InstancePtr, <a class="el" href="group__usbps__v2__2.html#gabfe306519d91eb6e73e2758ef0e4022a">XUSBPS_IER_OFFSET</a>, IntrMask)</td></tr>
<tr class="memdesc:af88d5cf6ea7f26426bf40b8ca330a416"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro enables the interrupts defined by the bit mask.  <a href="#af88d5cf6ea7f26426bf40b8ca330a416">More...</a><br /></td></tr>
<tr class="separator:af88d5cf6ea7f26426bf40b8ca330a416"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22acce11d7faba420e1a25aaffca8d86"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#a22acce11d7faba420e1a25aaffca8d86">XUsbPs_IntrDisable</a>(InstancePtr,  IntrMask)&#160;&#160;&#160;<a class="el" href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a>(InstancePtr, <a class="el" href="group__usbps__v2__2.html#gabfe306519d91eb6e73e2758ef0e4022a">XUSBPS_IER_OFFSET</a>, IntrMask)</td></tr>
<tr class="memdesc:a22acce11d7faba420e1a25aaffca8d86"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function disables the interrupts defined by the bit mask.  <a href="#a22acce11d7faba420e1a25aaffca8d86">More...</a><br /></td></tr>
<tr class="separator:a22acce11d7faba420e1a25aaffca8d86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d949530dfa3f587d5cd95caa4d2bdc3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#a1d949530dfa3f587d5cd95caa4d2bdc3">XUsbPs_NakIntrEnable</a>(InstancePtr,  NakIntrMask)&#160;&#160;&#160;<a class="el" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>(InstancePtr, <a class="el" href="group__usbps__v2__2.html#ga3dc13210f377cd5cfd68d6c0384c8eb4">XUSBPS_EPNAKIER_OFFSET</a>, NakIntrMask)</td></tr>
<tr class="memdesc:a1d949530dfa3f587d5cd95caa4d2bdc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro enables the endpoint NAK interrupts defined by the bit mask.  <a href="#a1d949530dfa3f587d5cd95caa4d2bdc3">More...</a><br /></td></tr>
<tr class="separator:a1d949530dfa3f587d5cd95caa4d2bdc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ad3a92ab100b9bbaeeeb6be6ec08f22"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#a7ad3a92ab100b9bbaeeeb6be6ec08f22">XUsbPs_NakIntrDisable</a>(InstancePtr,  NakIntrMask)&#160;&#160;&#160;<a class="el" href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a>(InstancePtr, <a class="el" href="group__usbps__v2__2.html#ga3dc13210f377cd5cfd68d6c0384c8eb4">XUSBPS_EPNAKIER_OFFSET</a>, NakIntrMask)</td></tr>
<tr class="memdesc:a7ad3a92ab100b9bbaeeeb6be6ec08f22"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro disables the endpoint NAK interrupts defined by the bit mask.  <a href="#a7ad3a92ab100b9bbaeeeb6be6ec08f22">More...</a><br /></td></tr>
<tr class="separator:a7ad3a92ab100b9bbaeeeb6be6ec08f22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa11d1d4de05ea74369eec8c2cb243aa8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#aa11d1d4de05ea74369eec8c2cb243aa8">XUsbPs_NakIntrClear</a>(InstancePtr,  NakIntrMask)</td></tr>
<tr class="memdesc:aa11d1d4de05ea74369eec8c2cb243aa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function clears the endpoint NAK interrupts status defined by the bit mask.  <a href="#aa11d1d4de05ea74369eec8c2cb243aa8">More...</a><br /></td></tr>
<tr class="separator:aa11d1d4de05ea74369eec8c2cb243aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1ce53cae0c030e39b619345bbaef1a0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#ab1ce53cae0c030e39b619345bbaef1a0">XUsbPs_SetIntrThreshold</a>(InstancePtr,  Threshold)</td></tr>
<tr class="memdesc:ab1ce53cae0c030e39b619345bbaef1a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro sets the Interrupt Threshold value in the control register.  <a href="#ab1ce53cae0c030e39b619345bbaef1a0">More...</a><br /></td></tr>
<tr class="separator:ab1ce53cae0c030e39b619345bbaef1a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a232724ca8e31333747d5eb0e7c144695"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#a232724ca8e31333747d5eb0e7c144695">XUsbPs_SetSetupTripwire</a>(InstancePtr)</td></tr>
<tr class="memdesc:a232724ca8e31333747d5eb0e7c144695"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro sets the Tripwire bit in the USB command register.  <a href="#a232724ca8e31333747d5eb0e7c144695">More...</a><br /></td></tr>
<tr class="separator:a232724ca8e31333747d5eb0e7c144695"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67d06e097966e561f940dcb60ec99cac"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#a67d06e097966e561f940dcb60ec99cac">XUsbPs_ClrSetupTripwire</a>(InstancePtr)</td></tr>
<tr class="memdesc:a67d06e097966e561f940dcb60ec99cac"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro clears the Tripwire bit in the USB command register.  <a href="#a67d06e097966e561f940dcb60ec99cac">More...</a><br /></td></tr>
<tr class="separator:a67d06e097966e561f940dcb60ec99cac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9cfbb6b0afe50174fb8fb126e5ba120"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#ad9cfbb6b0afe50174fb8fb126e5ba120">XUsbPs_SetupTripwireIsSet</a>(InstancePtr)</td></tr>
<tr class="memdesc:ad9cfbb6b0afe50174fb8fb126e5ba120"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro checks if the Tripwire bit in the USB command register is set.  <a href="#ad9cfbb6b0afe50174fb8fb126e5ba120">More...</a><br /></td></tr>
<tr class="separator:ad9cfbb6b0afe50174fb8fb126e5ba120"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3136c0894811be3b4406dff0d7634f8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>(InstancePtr,  RegOffset,  Bits)</td></tr>
<tr class="memdesc:ab3136c0894811be3b4406dff0d7634f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro sets the given bit mask in the register.  <a href="#ab3136c0894811be3b4406dff0d7634f8">More...</a><br /></td></tr>
<tr class="separator:ab3136c0894811be3b4406dff0d7634f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27d356b912141651e96cfef9b100c5f1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a>(InstancePtr,  RegOffset,  Bits)</td></tr>
<tr class="memdesc:a27d356b912141651e96cfef9b100c5f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro clears the given bits in the register.  <a href="#a27d356b912141651e96cfef9b100c5f1">More...</a><br /></td></tr>
<tr class="separator:a27d356b912141651e96cfef9b100c5f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">System hang prevention Timeout counter value.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>This value is used throughout the code to initialize a Timeout counter that is used when hard polling a register.</p>
<p>The ides is to initialize the Timeout counter to a value that is longer than any expected Timeout but short enough so the system will continue to work and report an error while the user is still paying attention. A reasonable Timeout time would be about 10 seconds. The XUSBPS_TIMEOUT_COUNTER value should be chosen so a polling loop would run about 10 seconds before a Timeout is detected. For example: </p><pre class="fragment">    int Timeout = XUSBPS_TIMEOUT_COUNTER;
 while ((XUsbPs_ReadReg(InstancePtr-&gt;Config.BaseAddress,
                    XUSBPS_CMD_OFFSET) &amp;
                    XUSBPS_CMD_RST_MASK) &amp;&amp; --Timeout) {
    ;
 }
 if (0 == Timeout) {
    return XST_FAILURE;
 }</pre> </div></td></tr>
<tr class="memitem:ga57f0ece484636153f47b87cfd7eeaa75"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XUSBPS_TIMEOUT_COUNTER</b>&#160;&#160;&#160;1000000</td></tr>
<tr class="separator:ga57f0ece484636153f47b87cfd7eeaa75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Endpoint Direction (bitmask)</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Definitions to be used with Endpoint related function that require a 'Direction' parameter.</p>
<p>NOTE: The direction is always defined from the perspective of the HOST! This means that an IN endpoint on the controller is used for sending data while the OUT endpoint on the controller is used for receiving data. </p>
</div></td></tr>
<tr class="memitem:ga0f21b0f7da084c22abc4f0a9bf425bc7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:ga0f21b0f7da084c22abc4f0a9bf425bc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint direction IN.  <a href="group__usbps__v2__2.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">More...</a><br /></td></tr>
<tr class="separator:ga0f21b0f7da084c22abc4f0a9bf425bc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86e363bb35c38123a924bd2af954ceab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a>&#160;&#160;&#160;0x02</td></tr>
<tr class="memdesc:ga86e363bb35c38123a924bd2af954ceab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint direction OUT.  <a href="group__usbps__v2__2.html#ga86e363bb35c38123a924bd2af954ceab">More...</a><br /></td></tr>
<tr class="separator:ga86e363bb35c38123a924bd2af954ceab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Endpoint Type</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Definitions to be used with Endpoint related functions that require a 'Type' parameter. </p>
</div></td></tr>
<tr class="memitem:gac1d65456d504832a5a1426085545ff2d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#gac1d65456d504832a5a1426085545ff2d">XUSBPS_EP_TYPE_NONE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gac1d65456d504832a5a1426085545ff2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint is not used.  <a href="group__usbps__v2__2.html#gac1d65456d504832a5a1426085545ff2d">More...</a><br /></td></tr>
<tr class="separator:gac1d65456d504832a5a1426085545ff2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8b727ed129801690a987d1e475bc1d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#gad8b727ed129801690a987d1e475bc1d5">XUSBPS_EP_TYPE_CONTROL</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gad8b727ed129801690a987d1e475bc1d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint for Control Transfers.  <a href="group__usbps__v2__2.html#gad8b727ed129801690a987d1e475bc1d5">More...</a><br /></td></tr>
<tr class="separator:gad8b727ed129801690a987d1e475bc1d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae012590baed99e88cd4a92ff3f65faa0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#gae012590baed99e88cd4a92ff3f65faa0">XUSBPS_EP_TYPE_ISOCHRONOUS</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:gae012590baed99e88cd4a92ff3f65faa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint for isochronous data.  <a href="group__usbps__v2__2.html#gae012590baed99e88cd4a92ff3f65faa0">More...</a><br /></td></tr>
<tr class="separator:gae012590baed99e88cd4a92ff3f65faa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c2a58518c4f4ee1e9bcd200f566ddf7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga1c2a58518c4f4ee1e9bcd200f566ddf7">XUSBPS_EP_TYPE_BULK</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:ga1c2a58518c4f4ee1e9bcd200f566ddf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint for BULK Transfers.  <a href="group__usbps__v2__2.html#ga1c2a58518c4f4ee1e9bcd200f566ddf7">More...</a><br /></td></tr>
<tr class="separator:ga1c2a58518c4f4ee1e9bcd200f566ddf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab9833b2c2a3e69cfa5c5b2cd0be4c185"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#gab9833b2c2a3e69cfa5c5b2cd0be4c185">XUSBPS_EP_TYPE_INTERRUPT</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:gab9833b2c2a3e69cfa5c5b2cd0be4c185"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint for interrupt Transfers.  <a href="group__usbps__v2__2.html#gab9833b2c2a3e69cfa5c5b2cd0be4c185">More...</a><br /></td></tr>
<tr class="separator:gab9833b2c2a3e69cfa5c5b2cd0be4c185"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:ga693168c9588d90c92e04e665fb141fce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga693168c9588d90c92e04e665fb141fce">ENDPOINT_MAXP_LENGTH</a>&#160;&#160;&#160;0x400</td></tr>
<tr class="memdesc:ga693168c9588d90c92e04e665fb141fce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint Max Packet Length in DeviceConfig is a coded value, ch9.6.6.  <a href="group__usbps__v2__2.html#ga693168c9588d90c92e04e665fb141fce">More...</a><br /></td></tr>
<tr class="separator:ga693168c9588d90c92e04e665fb141fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Field names for status retrieval</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Definitions for the XUsbPs_GetStatus() function call 'StatusType' parameter. </p>
</div></td></tr>
<tr class="memitem:ga96ac93f4536cd0c0abeff764b0c752dd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga96ac93f4536cd0c0abeff764b0c752dd">XUSBPS_EP_STS_ADDRESS</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga96ac93f4536cd0c0abeff764b0c752dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address of controller.  <a href="group__usbps__v2__2.html#ga96ac93f4536cd0c0abeff764b0c752dd">More...</a><br /></td></tr>
<tr class="separator:ga96ac93f4536cd0c0abeff764b0c752dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga23671067697bfc0ea6b0a688cee5de2b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga23671067697bfc0ea6b0a688cee5de2b">XUSBPS_EP_STS_CONTROLLER_STATE</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ga23671067697bfc0ea6b0a688cee5de2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current controller state.  <a href="group__usbps__v2__2.html#ga23671067697bfc0ea6b0a688cee5de2b">More...</a><br /></td></tr>
<tr class="separator:ga23671067697bfc0ea6b0a688cee5de2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">USB Default alternate setting</div></td></tr>
<tr class="memitem:gad86f6c8b6ff536870e40a018308ee9d7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#gad86f6c8b6ff536870e40a018308ee9d7">XUSBPS_DEFAULT_ALT_SETTING</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gad86f6c8b6ff536870e40a018308ee9d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default alternate setting is 0.  <a href="group__usbps__v2__2.html#gad86f6c8b6ff536870e40a018308ee9d7">More...</a><br /></td></tr>
<tr class="separator:gad86f6c8b6ff536870e40a018308ee9d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Endpoint event types</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Definitions that are used to identify events that occur on endpoints.</p>
<p>Passed to the endpoint event handler functions registered with <a class="el" href="group__usbps__v2__2.html#ga04fb0b564bcd01cdf33e29ca2732656a" title="This function sets the handler for endpoint events. ">XUsbPs_EpSetHandler()</a>. </p>
</div></td></tr>
<tr class="memitem:ga9934654d1c910d17fbeb9b5f75e96ecc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga9934654d1c910d17fbeb9b5f75e96ecc">XUSBPS_EP_EVENT_SETUP_DATA_RECEIVED</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:ga9934654d1c910d17fbeb9b5f75e96ecc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup data has been received on the enpoint.  <a href="group__usbps__v2__2.html#ga9934654d1c910d17fbeb9b5f75e96ecc">More...</a><br /></td></tr>
<tr class="separator:ga9934654d1c910d17fbeb9b5f75e96ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8915f71ea9bef90eed401a44a39d7dba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga8915f71ea9bef90eed401a44a39d7dba">XUSBPS_EP_EVENT_DATA_RX</a>&#160;&#160;&#160;0x02</td></tr>
<tr class="memdesc:ga8915f71ea9bef90eed401a44a39d7dba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data frame has been received on the endpoint.  <a href="group__usbps__v2__2.html#ga8915f71ea9bef90eed401a44a39d7dba">More...</a><br /></td></tr>
<tr class="separator:ga8915f71ea9bef90eed401a44a39d7dba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf96bbc1cb4b4c7d1e3399027a2e4823"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#gaaf96bbc1cb4b4c7d1e3399027a2e4823">XUSBPS_EP_EVENT_DATA_TX</a>&#160;&#160;&#160;0x03</td></tr>
<tr class="memdesc:gaaf96bbc1cb4b4c7d1e3399027a2e4823"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data frame has been sent on the endpoint.  <a href="group__usbps__v2__2.html#gaaf96bbc1cb4b4c7d1e3399027a2e4823">More...</a><br /></td></tr>
<tr class="separator:gaaf96bbc1cb4b4c7d1e3399027a2e4823"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga1a3417695facf9eff86ce6a1e14a9bbc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga1a3417695facf9eff86ce6a1e14a9bbc">XUsbPs_CfgInitialize</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, const <a class="el" href="struct_x_usb_ps___config.html">XUsbPs_Config</a> *ConfigPtr, u32 BaseAddress)</td></tr>
<tr class="memdesc:ga1a3417695facf9eff86ce6a1e14a9bbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup / Initialize functions.  <a href="group__usbps__v2__2.html#ga1a3417695facf9eff86ce6a1e14a9bbc">More...</a><br /></td></tr>
<tr class="separator:ga1a3417695facf9eff86ce6a1e14a9bbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6daace32113a806a6822a6d5943a93f4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga6daace32113a806a6822a6d5943a93f4">XUsbPs_ConfigureDevice</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, const <a class="el" href="struct_x_usb_ps___device_config.html">XUsbPs_DeviceConfig</a> *CfgPtr)</td></tr>
<tr class="memdesc:ga6daace32113a806a6822a6d5943a93f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function configures the DEVICE side of the controller.  <a href="group__usbps__v2__2.html#ga6daace32113a806a6822a6d5943a93f4">More...</a><br /></td></tr>
<tr class="separator:ga6daace32113a806a6822a6d5943a93f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c583a4c515653fd70c111fe0d2ddb37"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga2c583a4c515653fd70c111fe0d2ddb37">XUsbPs_Reset</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga2c583a4c515653fd70c111fe0d2ddb37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common functions used for DEVICE/HOST mode.  <a href="group__usbps__v2__2.html#ga2c583a4c515653fd70c111fe0d2ddb37">More...</a><br /></td></tr>
<tr class="separator:ga2c583a4c515653fd70c111fe0d2ddb37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga69b214c21727c4b1f641d84414f397df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga69b214c21727c4b1f641d84414f397df">XUsbPs_DeviceReset</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga69b214c21727c4b1f641d84414f397df"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs device reset, device is stopped at the end.  <a href="group__usbps__v2__2.html#ga69b214c21727c4b1f641d84414f397df">More...</a><br /></td></tr>
<tr class="separator:ga69b214c21727c4b1f641d84414f397df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa47418bedd29f6bc36e075b124227eb0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusbps_8h.html#aa47418bedd29f6bc36e075b124227eb0">XUsbPs_BusReset</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:aa47418bedd29f6bc36e075b124227eb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">DEVICE mode specific functions.  <a href="#aa47418bedd29f6bc36e075b124227eb0">More...</a><br /></td></tr>
<tr class="separator:aa47418bedd29f6bc36e075b124227eb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c700bcf9ba08271914145803776d265"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga8c700bcf9ba08271914145803776d265">XUsbPs_SetDeviceAddress</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 Address)</td></tr>
<tr class="memdesc:ga8c700bcf9ba08271914145803776d265"><td class="mdescLeft">&#160;</td><td class="mdescRight">This functions sets the controller's DEVICE address.  <a href="group__usbps__v2__2.html#ga8c700bcf9ba08271914145803776d265">More...</a><br /></td></tr>
<tr class="separator:ga8c700bcf9ba08271914145803776d265"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0f25904ea86f189b6597c0dff795f61f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga0f25904ea86f189b6597c0dff795f61f">XUsbPs_Suspend</a> (const <a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga0f25904ea86f189b6597c0dff795f61f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handling Suspend and Resume.  <a href="group__usbps__v2__2.html#ga0f25904ea86f189b6597c0dff795f61f">More...</a><br /></td></tr>
<tr class="separator:ga0f25904ea86f189b6597c0dff795f61f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa71f906531330b2f05ede2f17ab54c69"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#gaa71f906531330b2f05ede2f17ab54c69">XUsbPs_Resume</a> (const <a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:gaa71f906531330b2f05ede2f17ab54c69"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Resume.  <a href="group__usbps__v2__2.html#gaa71f906531330b2f05ede2f17ab54c69">More...</a><br /></td></tr>
<tr class="separator:gaa71f906531330b2f05ede2f17ab54c69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5dc88831ee2823e24d7024e585704772"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga5dc88831ee2823e24d7024e585704772">XUsbPs_RequestHostResume</a> (const <a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga5dc88831ee2823e24d7024e585704772"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Assert Resume.  <a href="group__usbps__v2__2.html#ga5dc88831ee2823e24d7024e585704772">More...</a><br /></td></tr>
<tr class="separator:ga5dc88831ee2823e24d7024e585704772"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6bfe53ec45a998d5673b80e11ab4d292"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga6bfe53ec45a998d5673b80e11ab4d292">XUsbPs_EpBufferSend</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 EpNum, const u8 *BufferPtr, u32 BufferLen)</td></tr>
<tr class="memdesc:ga6bfe53ec45a998d5673b80e11ab4d292"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends a given data buffer.  <a href="group__usbps__v2__2.html#ga6bfe53ec45a998d5673b80e11ab4d292">More...</a><br /></td></tr>
<tr class="separator:ga6bfe53ec45a998d5673b80e11ab4d292"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e4c0735be24ea24b73404db8d18133e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga1e4c0735be24ea24b73404db8d18133e">XUsbPs_EpBufferSendWithZLT</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 EpNum, const u8 *BufferPtr, u32 BufferLen)</td></tr>
<tr class="memdesc:ga1e4c0735be24ea24b73404db8d18133e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends a given data buffer and also zero length packet if the Bufferlen is in multiples of endpoint max packet size.  <a href="group__usbps__v2__2.html#ga1e4c0735be24ea24b73404db8d18133e">More...</a><br /></td></tr>
<tr class="separator:ga1e4c0735be24ea24b73404db8d18133e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac27a9d64ddf33a2400d7493e301a7192"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#gac27a9d64ddf33a2400d7493e301a7192">XUsbPs_EpBufferReceive</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 EpNum, u8 **BufferPtr, u32 *BufferLenPtr, u32 *Handle)</td></tr>
<tr class="memdesc:gac27a9d64ddf33a2400d7493e301a7192"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function receives a data buffer from the endpoint of the given endpoint number.  <a href="group__usbps__v2__2.html#gac27a9d64ddf33a2400d7493e301a7192">More...</a><br /></td></tr>
<tr class="separator:gac27a9d64ddf33a2400d7493e301a7192"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa01a009151d133f07249d7f932e22f11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#gaa01a009151d133f07249d7f932e22f11">XUsbPs_EpBufferRelease</a> (u32 Handle)</td></tr>
<tr class="memdesc:gaa01a009151d133f07249d7f932e22f11"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns a previously received data buffer to the driver.  <a href="group__usbps__v2__2.html#gaa01a009151d133f07249d7f932e22f11">More...</a><br /></td></tr>
<tr class="separator:gaa01a009151d133f07249d7f932e22f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04fb0b564bcd01cdf33e29ca2732656a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga04fb0b564bcd01cdf33e29ca2732656a">XUsbPs_EpSetHandler</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 EpNum, u8 Direction, XUsbPs_EpHandlerFunc CallBackFunc, void *CallBackRef)</td></tr>
<tr class="memdesc:ga04fb0b564bcd01cdf33e29ca2732656a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the handler for endpoint events.  <a href="group__usbps__v2__2.html#ga04fb0b564bcd01cdf33e29ca2732656a">More...</a><br /></td></tr>
<tr class="separator:ga04fb0b564bcd01cdf33e29ca2732656a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga91c44ff9dcae2e47ed8112c8a0779fa1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga91c44ff9dcae2e47ed8112c8a0779fa1">XUsbPs_EpGetSetupData</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, int EpNum, <a class="el" href="struct_x_usb_ps___setup_data.html">XUsbPs_SetupData</a> *SetupDataPtr)</td></tr>
<tr class="memdesc:ga91c44ff9dcae2e47ed8112c8a0779fa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function extracts the Setup Data from a given endpoint.  <a href="group__usbps__v2__2.html#ga91c44ff9dcae2e47ed8112c8a0779fa1">More...</a><br /></td></tr>
<tr class="separator:ga91c44ff9dcae2e47ed8112c8a0779fa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba0ae2eac9c6b402e32e401333a5b105"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#gaba0ae2eac9c6b402e32e401333a5b105">XUsbPs_EpPrime</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, u8 EpNum, u8 Direction)</td></tr>
<tr class="memdesc:gaba0ae2eac9c6b402e32e401333a5b105"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function primes an endpoint.  <a href="group__usbps__v2__2.html#gaba0ae2eac9c6b402e32e401333a5b105">More...</a><br /></td></tr>
<tr class="separator:gaba0ae2eac9c6b402e32e401333a5b105"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga90aab040f015299b2064124bed882896"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga90aab040f015299b2064124bed882896">XUsbPs_ReconfigureEp</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, <a class="el" href="struct_x_usb_ps___device_config.html">XUsbPs_DeviceConfig</a> *CfgPtr, int EpNum, unsigned short NewDirection, int DirectionChanged)</td></tr>
<tr class="memdesc:ga90aab040f015299b2064124bed882896"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reconfigures one Ep corresponding to host's request of setting alternate interface.  <a href="group__usbps__v2__2.html#ga90aab040f015299b2064124bed882896">More...</a><br /></td></tr>
<tr class="separator:ga90aab040f015299b2064124bed882896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga60e2b0f6fabc24cdf785d704ab2585d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga60e2b0f6fabc24cdf785d704ab2585d1">XUsbPs_IntrHandler</a> (void *InstancePtr)</td></tr>
<tr class="memdesc:ga60e2b0f6fabc24cdf785d704ab2585d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the first-level interrupt handler for the USB core.  <a href="group__usbps__v2__2.html#ga60e2b0f6fabc24cdf785d704ab2585d1">More...</a><br /></td></tr>
<tr class="separator:ga60e2b0f6fabc24cdf785d704ab2585d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga521c050d3b146bb58862f5fadf7f6ba6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#ga521c050d3b146bb58862f5fadf7f6ba6">XUsbPs_IntrSetHandler</a> (<a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *InstancePtr, XUsbPs_IntrHandlerFunc CallBackFunc, void *CallBackRef, u32 Mask)</td></tr>
<tr class="memdesc:ga521c050d3b146bb58862f5fadf7f6ba6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function registers the user callback handler for controller (non-endpoint) interrupts.  <a href="group__usbps__v2__2.html#ga521c050d3b146bb58862f5fadf7f6ba6">More...</a><br /></td></tr>
<tr class="separator:ga521c050d3b146bb58862f5fadf7f6ba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafcaf2c53431ef206d3435d677867f818"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_usb_ps___config.html">XUsbPs_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usbps__v2__2.html#gafcaf2c53431ef206d3435d677867f818">XUsbPs_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr class="memdesc:gafcaf2c53431ef206d3435d677867f818"><td class="mdescLeft">&#160;</td><td class="mdescRight">Looks up the controller configuration based on the unique controller ID.  <a href="group__usbps__v2__2.html#gafcaf2c53431ef206d3435d677867f818">More...</a><br /></td></tr>
<tr class="separator:gafcaf2c53431ef206d3435d677867f818"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a27d356b912141651e96cfef9b100c5f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27d356b912141651e96cfef9b100c5f1">&#9670;&nbsp;</a></span>XUsbPs_ClrBits</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_ClrBits</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Bits&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps__v2__2.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress, RegOffset,   \</div><div class="line">                <a class="code" href="group__usbps__v2__2.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress,       \</div><div class="line">                                RegOffset) &amp; ~(Bits));</div><div class="ttc" id="group__usbps__v2__2_html_gae013de4110ae5cd348830c36a365fb14"><div class="ttname"><a href="group__usbps__v2__2.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a></div><div class="ttdeci">#define XUsbPs_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:504</div></div>
<div class="ttc" id="group__usbps__v2__2_html_gaefd4e31b2628602507b5df0f7d9c934f"><div class="ttname"><a href="group__usbps__v2__2.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a></div><div class="ttdeci">#define XUsbPs_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">This macro writes the given register. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:523</div></div>
</div><!-- fragment -->
<p>This macro clears the given bits in the register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>is the register offset to be written. </td></tr>
    <tr><td class="paramname">Bits</td><td>are the bits to be cleared in the register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1" title="This macro clears the given bits in the register. ">XUsbPs_ClrBits(u32 BaseAddress, u32 RegOffset, u32 Bits)</a> </dd></dl>

</div>
</div>
<a id="a67d06e097966e561f940dcb60ec99cac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67d06e097966e561f940dcb60ec99cac">&#9670;&nbsp;</a></span>XUsbPs_ClrSetupTripwire</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_ClrSetupTripwire</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a>(InstancePtr, <a class="code" href="group__usbps__v2__2.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a>,  \</div><div class="line">                                <a class="code" href="group__usbps__v2__2.html#ga28d755f3ecc320aea1c7f5d524c6ce04">XUSBPS_CMD_SUTW_MASK</a>)</div><div class="ttc" id="group__usbps__v2__2_html_gaf4e60df9453b2ca88e075768c80eb362"><div class="ttname"><a href="group__usbps__v2__2.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a></div><div class="ttdeci">#define XUSBPS_CMD_OFFSET</div><div class="ttdoc">Configuration. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:120</div></div>
<div class="ttc" id="xusbps_8h_html_a27d356b912141651e96cfef9b100c5f1"><div class="ttname"><a href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a></div><div class="ttdeci">#define XUsbPs_ClrBits(InstancePtr, RegOffset, Bits)</div><div class="ttdoc">This macro clears the given bits in the register. </div><div class="ttdef"><b>Definition:</b> xusbps.h:1008</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga28d755f3ecc320aea1c7f5d524c6ce04"><div class="ttname"><a href="group__usbps__v2__2.html#ga28d755f3ecc320aea1c7f5d524c6ce04">XUSBPS_CMD_SUTW_MASK</a></div><div class="ttdeci">#define XUSBPS_CMD_SUTW_MASK</div><div class="ttdoc">Setup TripWire. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:208</div></div>
</div><!-- fragment -->
<p>This macro clears the Tripwire bit in the USB command register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void XUsbPs_ClrTripwire(XUsbPs *InstancePtr) </dd></dl>

</div>
</div>
<a id="a5b9a6534a546a278e48e31c0f3f53cbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b9a6534a546a278e48e31c0f3f53cbf">&#9670;&nbsp;</a></span>XUsbPs_EpDisable</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_EpDisable</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">EpNum, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Dir&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a>(InstancePtr, XUSBPS_EPCRn_OFFSET(EpNum),          \</div><div class="line">                ((Dir) &amp; <a class="code" href="group__usbps__v2__2.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a> ? <a class="code" href="group__usbps__v2__2.html#ga47897095bd9001c405e4c1b43f4582cd">XUSBPS_EPCR_RXE_MASK</a> : 0) | \</div><div class="line">                ((Dir) &amp; <a class="code" href="group__usbps__v2__2.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a>  ? <a class="code" href="group__usbps__v2__2.html#ga5cc1450fbbe3d6e525b363a2faf54575">XUSBPS_EPCR_TXE_MASK</a> : 0))</div><div class="ttc" id="group__usbps__v2__2_html_ga0f21b0f7da084c22abc4f0a9bf425bc7"><div class="ttname"><a href="group__usbps__v2__2.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a></div><div class="ttdeci">#define XUSBPS_EP_DIRECTION_IN</div><div class="ttdoc">Endpoint direction IN. </div><div class="ttdef"><b>Definition:</b> xusbps.h:243</div></div>
<div class="ttc" id="xusbps_8h_html_a27d356b912141651e96cfef9b100c5f1"><div class="ttname"><a href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a></div><div class="ttdeci">#define XUsbPs_ClrBits(InstancePtr, RegOffset, Bits)</div><div class="ttdoc">This macro clears the given bits in the register. </div><div class="ttdef"><b>Definition:</b> xusbps.h:1008</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga86e363bb35c38123a924bd2af954ceab"><div class="ttname"><a href="group__usbps__v2__2.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a></div><div class="ttdeci">#define XUSBPS_EP_DIRECTION_OUT</div><div class="ttdoc">Endpoint direction OUT. </div><div class="ttdef"><b>Definition:</b> xusbps.h:244</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga47897095bd9001c405e4c1b43f4582cd"><div class="ttname"><a href="group__usbps__v2__2.html#ga47897095bd9001c405e4c1b43f4582cd">XUSBPS_EPCR_RXE_MASK</a></div><div class="ttdeci">#define XUSBPS_EPCR_RXE_MASK</div><div class="ttdoc">Transmit enable. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:192</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga5cc1450fbbe3d6e525b363a2faf54575"><div class="ttname"><a href="group__usbps__v2__2.html#ga5cc1450fbbe3d6e525b363a2faf54575">XUSBPS_EPCR_TXE_MASK</a></div><div class="ttdeci">#define XUSBPS_EPCR_TXE_MASK</div><div class="ttdoc">Transmit enable - TX. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:182</div></div>
</div><!-- fragment -->
<p>This macro disables the given endpoint for the given direction. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is the number of the endpoint to disable. </td></tr>
    <tr><td class="paramname">Dir</td><td>is the direction of the endpoint (bitfield):<ul>
<li>XUSBPS_EP_DIRECTION_OUT</li>
<li>XUSBPS_EP_DIRECTION_IN</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#a5b9a6534a546a278e48e31c0f3f53cbf" title="This macro disables the given endpoint for the given direction. ">XUsbPs_EpDisable(XUsbPs *InstancePtr, u8 EpNum, u8 Dir)</a> </dd></dl>

</div>
</div>
<a id="ad5dcc2f75c336bb6ea4c9697b0d88c1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5dcc2f75c336bb6ea4c9697b0d88c1d">&#9670;&nbsp;</a></span>XUsbPs_EpEnable</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_EpEnable</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">EpNum, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Dir&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>(InstancePtr, XUSBPS_EPCRn_OFFSET(EpNum),  \</div><div class="line">        ((Dir) &amp; <a class="code" href="group__usbps__v2__2.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a> ? <a class="code" href="group__usbps__v2__2.html#ga47897095bd9001c405e4c1b43f4582cd">XUSBPS_EPCR_RXE_MASK</a> : 0) | \</div><div class="line">        ((Dir) &amp; <a class="code" href="group__usbps__v2__2.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a>  ? <a class="code" href="group__usbps__v2__2.html#ga5cc1450fbbe3d6e525b363a2faf54575">XUSBPS_EPCR_TXE_MASK</a> : 0))</div><div class="ttc" id="group__usbps__v2__2_html_ga0f21b0f7da084c22abc4f0a9bf425bc7"><div class="ttname"><a href="group__usbps__v2__2.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a></div><div class="ttdeci">#define XUSBPS_EP_DIRECTION_IN</div><div class="ttdoc">Endpoint direction IN. </div><div class="ttdef"><b>Definition:</b> xusbps.h:243</div></div>
<div class="ttc" id="xusbps_8h_html_ab3136c0894811be3b4406dff0d7634f8"><div class="ttname"><a href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a></div><div class="ttdeci">#define XUsbPs_SetBits(InstancePtr, RegOffset, Bits)</div><div class="ttdoc">This macro sets the given bit mask in the register. </div><div class="ttdef"><b>Definition:</b> xusbps.h:986</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga86e363bb35c38123a924bd2af954ceab"><div class="ttname"><a href="group__usbps__v2__2.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a></div><div class="ttdeci">#define XUSBPS_EP_DIRECTION_OUT</div><div class="ttdoc">Endpoint direction OUT. </div><div class="ttdef"><b>Definition:</b> xusbps.h:244</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga47897095bd9001c405e4c1b43f4582cd"><div class="ttname"><a href="group__usbps__v2__2.html#ga47897095bd9001c405e4c1b43f4582cd">XUSBPS_EPCR_RXE_MASK</a></div><div class="ttdeci">#define XUSBPS_EPCR_RXE_MASK</div><div class="ttdoc">Transmit enable. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:192</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga5cc1450fbbe3d6e525b363a2faf54575"><div class="ttname"><a href="group__usbps__v2__2.html#ga5cc1450fbbe3d6e525b363a2faf54575">XUSBPS_EPCR_TXE_MASK</a></div><div class="ttdeci">#define XUSBPS_EPCR_TXE_MASK</div><div class="ttdoc">Transmit enable - TX. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:182</div></div>
</div><!-- fragment -->
<p>This macro enables the given endpoint for the given direction. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is number of the endpoint to enable. </td></tr>
    <tr><td class="paramname">Dir</td><td>is direction of the endpoint (bitfield):<ul>
<li>XUSBPS_EP_DIRECTION_OUT</li>
<li>XUSBPS_EP_DIRECTION_IN</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#ad5dcc2f75c336bb6ea4c9697b0d88c1d" title="This macro enables the given endpoint for the given direction. ">XUsbPs_EpEnable(XUsbPs *InstancePtr, u8 EpNum, u8 Dir)</a> </dd></dl>

<p class="reference">Referenced by <a class="el" href="xusbps__ch9__storage_8h.html#a72238ee80cba8facd72277ab2ec271de">XUsbPs_SetConfiguration()</a>.</p>

</div>
</div>
<a id="a6674b216929ec8351518d1ecda9b4940"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6674b216929ec8351518d1ecda9b4940">&#9670;&nbsp;</a></span>XUsbPs_EpFlush</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_EpFlush</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">EpNum, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Dir&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>(InstancePtr, <a class="code" href="group__usbps__v2__2.html#ga62f7e5327dfbd7d8dc083194861a406e">XUSBPS_EPFLUSH_OFFSET</a>,      \</div><div class="line">                1 &lt;&lt; (EpNum + ((Dir) &amp; <a class="code" href="group__usbps__v2__2.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a> ?                \</div><div class="line">                        XUSBPS_EPFLUSH_RX_SHIFT:XUSBPS_EPFLUSH_TX_SHIFT))) \</div><div class="ttc" id="group__usbps__v2__2_html_ga62f7e5327dfbd7d8dc083194861a406e"><div class="ttname"><a href="group__usbps__v2__2.html#ga62f7e5327dfbd7d8dc083194861a406e">XUSBPS_EPFLUSH_OFFSET</a></div><div class="ttdeci">#define XUSBPS_EPFLUSH_OFFSET</div><div class="ttdoc">Endpoint Flush. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:145</div></div>
<div class="ttc" id="xusbps_8h_html_ab3136c0894811be3b4406dff0d7634f8"><div class="ttname"><a href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a></div><div class="ttdeci">#define XUsbPs_SetBits(InstancePtr, RegOffset, Bits)</div><div class="ttdoc">This macro sets the given bit mask in the register. </div><div class="ttdef"><b>Definition:</b> xusbps.h:986</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga86e363bb35c38123a924bd2af954ceab"><div class="ttname"><a href="group__usbps__v2__2.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a></div><div class="ttdeci">#define XUSBPS_EP_DIRECTION_OUT</div><div class="ttdoc">Endpoint direction OUT. </div><div class="ttdef"><b>Definition:</b> xusbps.h:244</div></div>
</div><!-- fragment -->
<p>This macro flush an endpoint upon interface disable. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is the number of the endpoint to flush. </td></tr>
    <tr><td class="paramname">Dir</td><td>is the direction of the endpoint (bitfield):<ul>
<li>XUSBPS_EP_DIRECTION_OUT</li>
<li>XUSBPS_EP_DIRECTION_IN</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#a6674b216929ec8351518d1ecda9b4940" title="This macro flush an endpoint upon interface disable. ">XUsbPs_EpFlush(XUsbPs *InstancePtr, u8 EpNum, u8 Dir)</a> </dd></dl>

</div>
</div>
<a id="a4273a108c512645b721b48997017205d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4273a108c512645b721b48997017205d">&#9670;&nbsp;</a></span>XUsbPs_EpStall</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_EpStall</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">EpNum, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Dir&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>(InstancePtr, XUSBPS_EPCRn_OFFSET(EpNum),  \</div><div class="line">        ((Dir) &amp; <a class="code" href="group__usbps__v2__2.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a> ? <a class="code" href="group__usbps__v2__2.html#gaaf4f7b7545c284558f021aa3f68e45cc">XUSBPS_EPCR_RXS_MASK</a> : 0) | \</div><div class="line">        ((Dir) &amp; <a class="code" href="group__usbps__v2__2.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a>  ? <a class="code" href="group__usbps__v2__2.html#gad22deb4883894f452b73ed38418970d0">XUSBPS_EPCR_TXS_MASK</a> : 0))</div><div class="ttc" id="group__usbps__v2__2_html_gaaf4f7b7545c284558f021aa3f68e45cc"><div class="ttname"><a href="group__usbps__v2__2.html#gaaf4f7b7545c284558f021aa3f68e45cc">XUSBPS_EPCR_RXS_MASK</a></div><div class="ttdeci">#define XUSBPS_EPCR_RXS_MASK</div><div class="ttdoc">Stall RX endpoint. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:191</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga0f21b0f7da084c22abc4f0a9bf425bc7"><div class="ttname"><a href="group__usbps__v2__2.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a></div><div class="ttdeci">#define XUSBPS_EP_DIRECTION_IN</div><div class="ttdoc">Endpoint direction IN. </div><div class="ttdef"><b>Definition:</b> xusbps.h:243</div></div>
<div class="ttc" id="group__usbps__v2__2_html_gad22deb4883894f452b73ed38418970d0"><div class="ttname"><a href="group__usbps__v2__2.html#gad22deb4883894f452b73ed38418970d0">XUSBPS_EPCR_TXS_MASK</a></div><div class="ttdeci">#define XUSBPS_EPCR_TXS_MASK</div><div class="ttdoc">Stall TX endpoint. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:181</div></div>
<div class="ttc" id="xusbps_8h_html_ab3136c0894811be3b4406dff0d7634f8"><div class="ttname"><a href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a></div><div class="ttdeci">#define XUsbPs_SetBits(InstancePtr, RegOffset, Bits)</div><div class="ttdoc">This macro sets the given bit mask in the register. </div><div class="ttdef"><b>Definition:</b> xusbps.h:986</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga86e363bb35c38123a924bd2af954ceab"><div class="ttname"><a href="group__usbps__v2__2.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a></div><div class="ttdeci">#define XUSBPS_EP_DIRECTION_OUT</div><div class="ttdoc">Endpoint direction OUT. </div><div class="ttdef"><b>Definition:</b> xusbps.h:244</div></div>
</div><!-- fragment -->
<p>This macro stalls the given endpoint for the given direction, and flush the buffers. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is number of the endpoint to stall. </td></tr>
    <tr><td class="paramname">Dir</td><td>is the direction of the endpoint (bitfield):<ul>
<li>XUSBPS_EP_DIRECTION_OUT</li>
<li>XUSBPS_EP_DIRECTION_IN</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#a4273a108c512645b721b48997017205d" title="This macro stalls the given endpoint for the given direction, and flush the buffers. ">XUsbPs_EpStall(XUsbPs *InstancePtr, u8 EpNum, u8 Dir)</a> </dd></dl>

<p class="reference">Referenced by <a class="el" href="xusbps__class__storage_8c.html#a8665f21d5cd56ddd1983b110d15f7d25">XUsbPs_ClassReq()</a>.</p>

</div>
</div>
<a id="aca88c57543720b88f0bc0d194ec16271"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca88c57543720b88f0bc0d194ec16271">&#9670;&nbsp;</a></span>XUsbPs_EpUnStall</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_EpUnStall</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">EpNum, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Dir&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a>(InstancePtr, XUSBPS_EPCRn_OFFSET(EpNum),  \</div><div class="line">        ((Dir) &amp; <a class="code" href="group__usbps__v2__2.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a> ? <a class="code" href="group__usbps__v2__2.html#gaaf4f7b7545c284558f021aa3f68e45cc">XUSBPS_EPCR_RXS_MASK</a> : 0) | \</div><div class="line">        ((Dir) &amp; <a class="code" href="group__usbps__v2__2.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a>  ? <a class="code" href="group__usbps__v2__2.html#gad22deb4883894f452b73ed38418970d0">XUSBPS_EPCR_TXS_MASK</a> : 0))</div><div class="ttc" id="group__usbps__v2__2_html_gaaf4f7b7545c284558f021aa3f68e45cc"><div class="ttname"><a href="group__usbps__v2__2.html#gaaf4f7b7545c284558f021aa3f68e45cc">XUSBPS_EPCR_RXS_MASK</a></div><div class="ttdeci">#define XUSBPS_EPCR_RXS_MASK</div><div class="ttdoc">Stall RX endpoint. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:191</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga0f21b0f7da084c22abc4f0a9bf425bc7"><div class="ttname"><a href="group__usbps__v2__2.html#ga0f21b0f7da084c22abc4f0a9bf425bc7">XUSBPS_EP_DIRECTION_IN</a></div><div class="ttdeci">#define XUSBPS_EP_DIRECTION_IN</div><div class="ttdoc">Endpoint direction IN. </div><div class="ttdef"><b>Definition:</b> xusbps.h:243</div></div>
<div class="ttc" id="xusbps_8h_html_a27d356b912141651e96cfef9b100c5f1"><div class="ttname"><a href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a></div><div class="ttdeci">#define XUsbPs_ClrBits(InstancePtr, RegOffset, Bits)</div><div class="ttdoc">This macro clears the given bits in the register. </div><div class="ttdef"><b>Definition:</b> xusbps.h:1008</div></div>
<div class="ttc" id="group__usbps__v2__2_html_gad22deb4883894f452b73ed38418970d0"><div class="ttname"><a href="group__usbps__v2__2.html#gad22deb4883894f452b73ed38418970d0">XUSBPS_EPCR_TXS_MASK</a></div><div class="ttdeci">#define XUSBPS_EPCR_TXS_MASK</div><div class="ttdoc">Stall TX endpoint. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:181</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga86e363bb35c38123a924bd2af954ceab"><div class="ttname"><a href="group__usbps__v2__2.html#ga86e363bb35c38123a924bd2af954ceab">XUSBPS_EP_DIRECTION_OUT</a></div><div class="ttdeci">#define XUSBPS_EP_DIRECTION_OUT</div><div class="ttdoc">Endpoint direction OUT. </div><div class="ttdef"><b>Definition:</b> xusbps.h:244</div></div>
</div><!-- fragment -->
<p>This macro unstalls the given endpoint for the given direction. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">EpNum</td><td>is the Number of the endpoint to unstall. </td></tr>
    <tr><td class="paramname">Dir</td><td>is the Direction of the endpoint (bitfield):<ul>
<li>XUSBPS_EP_DIRECTION_OUT</li>
<li>XUSBPS_EP_DIRECTION_IN</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#aca88c57543720b88f0bc0d194ec16271" title="This macro unstalls the given endpoint for the given direction. ">XUsbPs_EpUnStall(XUsbPs *InstancePtr, u8 EpNum, u8 Dir)</a> </dd></dl>

</div>
</div>
<a id="a1ddcdadfa686680d26c83a44ce5dd594"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ddcdadfa686680d26c83a44ce5dd594">&#9670;&nbsp;</a></span>XUsbPs_ForceFS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_ForceFS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>(InstancePtr, <a class="code" href="group__usbps__v2__2.html#ga3e6302971cb6f32b61bd601152babdfd">XUSBPS_PORTSCR1_OFFSET</a>,             \</div><div class="line">                <a class="code" href="group__usbps__v2__2.html#ga56979f03747794e45b17e23f14361015">XUSBPS_PORTSCR_PFSC_MASK</a>)</div><div class="ttc" id="group__usbps__v2__2_html_ga56979f03747794e45b17e23f14361015"><div class="ttname"><a href="group__usbps__v2__2.html#ga56979f03747794e45b17e23f14361015">XUSBPS_PORTSCR_PFSC_MASK</a></div><div class="ttdeci">#define XUSBPS_PORTSCR_PFSC_MASK</div><div class="ttdoc">Port Force Full Speed Connect. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:393</div></div>
<div class="ttc" id="xusbps_8h_html_ab3136c0894811be3b4406dff0d7634f8"><div class="ttname"><a href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a></div><div class="ttdeci">#define XUsbPs_SetBits(InstancePtr, RegOffset, Bits)</div><div class="ttdoc">This macro sets the given bit mask in the register. </div><div class="ttdef"><b>Definition:</b> xusbps.h:986</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga3e6302971cb6f32b61bd601152babdfd"><div class="ttname"><a href="group__usbps__v2__2.html#ga3e6302971cb6f32b61bd601152babdfd">XUSBPS_PORTSCR1_OFFSET</a></div><div class="ttdeci">#define XUSBPS_PORTSCR1_OFFSET</div><div class="ttdoc">Port Control/Status 1. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:134</div></div>
</div><!-- fragment -->
<p>This macro forces the USB engine to be in Full Speed (FS) mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#a1ddcdadfa686680d26c83a44ce5dd594" title="This macro forces the USB engine to be in Full Speed (FS) mode. ">XUsbPs_ForceFS(XUsbPs *InstancePtr)</a> </dd></dl>

</div>
</div>
<a id="a6cfc1ddd6f334d4350d652e9b8ef2d7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cfc1ddd6f334d4350d652e9b8ef2d7d">&#9670;&nbsp;</a></span>XUsbPs_GetFrameNum</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_GetFrameNum</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="group__usbps__v2__2.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, <a class="el" href="group__usbps__v2__2.html#ga4157755424c1cf5507ad25cb27e279a1">XUSBPS_FRAME_OFFSET</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This macro returns the current frame number. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The current frame number.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="xusbps_8h.html#a6cfc1ddd6f334d4350d652e9b8ef2d7d" title="This macro returns the current frame number. ">XUsbPs_GetFrameNum(const XUsbPs *InstancePtr)</a> </dd></dl>

</div>
</div>
<a id="a22acce11d7faba420e1a25aaffca8d86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22acce11d7faba420e1a25aaffca8d86">&#9670;&nbsp;</a></span>XUsbPs_IntrDisable</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_IntrDisable</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">IntrMask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a>(InstancePtr, <a class="el" href="group__usbps__v2__2.html#gabfe306519d91eb6e73e2758ef0e4022a">XUSBPS_IER_OFFSET</a>, IntrMask)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function disables the interrupts defined by the bit mask. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">IntrMask</td><td>is a Bit mask of interrupts to be disabled.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#a22acce11d7faba420e1a25aaffca8d86" title="This function disables the interrupts defined by the bit mask. ">XUsbPs_IntrDisable(XUsbPs *InstancePtr, u32 IntrMask)</a> </dd></dl>

</div>
</div>
<a id="af88d5cf6ea7f26426bf40b8ca330a416"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af88d5cf6ea7f26426bf40b8ca330a416">&#9670;&nbsp;</a></span>XUsbPs_IntrEnable</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_IntrEnable</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">IntrMask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>(InstancePtr, <a class="el" href="group__usbps__v2__2.html#gabfe306519d91eb6e73e2758ef0e4022a">XUSBPS_IER_OFFSET</a>, IntrMask)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This macro enables the interrupts defined by the bit mask. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">IntrMask</td><td>is the Bit mask of interrupts to be enabled.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#af88d5cf6ea7f26426bf40b8ca330a416" title="This macro enables the interrupts defined by the bit mask. ">XUsbPs_IntrEnable(XUsbPs *InstancePtr, u32 IntrMask)</a> </dd></dl>

</div>
</div>
<a id="aa11d1d4de05ea74369eec8c2cb243aa8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa11d1d4de05ea74369eec8c2cb243aa8">&#9670;&nbsp;</a></span>XUsbPs_NakIntrClear</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_NakIntrClear</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">NakIntrMask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps__v2__2.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress,              \</div><div class="line">                                <a class="code" href="group__usbps__v2__2.html#ga7f16bb1d54ffe9b9edf7ffc2a5b3bc2e">XUSBPS_EPNAKISR_OFFSET</a>, NakIntrMask)</div><div class="ttc" id="group__usbps__v2__2_html_ga7f16bb1d54ffe9b9edf7ffc2a5b3bc2e"><div class="ttname"><a href="group__usbps__v2__2.html#ga7f16bb1d54ffe9b9edf7ffc2a5b3bc2e">XUSBPS_EPNAKISR_OFFSET</a></div><div class="ttdeci">#define XUSBPS_EPNAKISR_OFFSET</div><div class="ttdoc">Endpoint NAK IRQ Status. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:132</div></div>
<div class="ttc" id="group__usbps__v2__2_html_gaefd4e31b2628602507b5df0f7d9c934f"><div class="ttname"><a href="group__usbps__v2__2.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a></div><div class="ttdeci">#define XUsbPs_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">This macro writes the given register. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:523</div></div>
</div><!-- fragment -->
<p>This function clears the endpoint NAK interrupts status defined by the bit mask. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">NakIntrMask</td><td>is the Bit mask of endpoint NAK interrupts to be cleared.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#aa11d1d4de05ea74369eec8c2cb243aa8" title="This function clears the endpoint NAK interrupts status defined by the bit mask. ">XUsbPs_NakIntrClear(XUsbPs *InstancePtr, u32 NakIntrMask)</a> </dd></dl>

</div>
</div>
<a id="a7ad3a92ab100b9bbaeeeb6be6ec08f22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ad3a92ab100b9bbaeeeb6be6ec08f22">&#9670;&nbsp;</a></span>XUsbPs_NakIntrDisable</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_NakIntrDisable</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">NakIntrMask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a>(InstancePtr, <a class="el" href="group__usbps__v2__2.html#ga3dc13210f377cd5cfd68d6c0384c8eb4">XUSBPS_EPNAKIER_OFFSET</a>, NakIntrMask)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This macro disables the endpoint NAK interrupts defined by the bit mask. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">NakIntrMask</td><td>is a Bit mask of endpoint NAK interrupts to be disabled.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#a7ad3a92ab100b9bbaeeeb6be6ec08f22" title="This macro disables the endpoint NAK interrupts defined by the bit mask. ">XUsbPs_NakIntrDisable(XUsbPs *InstancePtr, u32 NakIntrMask)</a> </dd></dl>

</div>
</div>
<a id="a1d949530dfa3f587d5cd95caa4d2bdc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d949530dfa3f587d5cd95caa4d2bdc3">&#9670;&nbsp;</a></span>XUsbPs_NakIntrEnable</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_NakIntrEnable</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">NakIntrMask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>(InstancePtr, <a class="el" href="group__usbps__v2__2.html#ga3dc13210f377cd5cfd68d6c0384c8eb4">XUSBPS_EPNAKIER_OFFSET</a>, NakIntrMask)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This macro enables the endpoint NAK interrupts defined by the bit mask. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">NakIntrMask</td><td>is the Bit mask of endpoint NAK interrupts to be enabled. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#a1d949530dfa3f587d5cd95caa4d2bdc3" title="This macro enables the endpoint NAK interrupts defined by the bit mask. ">XUsbPs_NakIntrEnable(XUsbPs *InstancePtr, u32 NakIntrMask)</a> </dd></dl>

</div>
</div>
<a id="aad63046a069a39fd8683d8f1369cce8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad63046a069a39fd8683d8f1369cce8e">&#9670;&nbsp;</a></span>XUsbPs_ReadTimer0</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_ReadTimer0</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps__v2__2.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress,               \</div><div class="line">                        XUSBPS_TIMER0_CTL_OFFSET) &amp;                     \</div><div class="line">                                        XUSBPS_TIMER_COUNTER_MASK</div><div class="ttc" id="group__usbps__v2__2_html_gae013de4110ae5cd348830c36a365fb14"><div class="ttname"><a href="group__usbps__v2__2.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a></div><div class="ttdeci">#define XUsbPs_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:504</div></div>
</div><!-- fragment -->
<p>This macro reads Timer 0. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#aad63046a069a39fd8683d8f1369cce8e" title="This macro reads Timer 0. ">XUsbPs_ReadTimer0(XUsbPs *InstancePtr)</a> </dd></dl>

</div>
</div>
<a id="afa7091750e5ec43f625c257e14fbe290"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa7091750e5ec43f625c257e14fbe290">&#9670;&nbsp;</a></span>XUsbPs_RemoteWakeup</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_RemoteWakeup</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>(InstancePtr, <a class="code" href="group__usbps__v2__2.html#ga3e6302971cb6f32b61bd601152babdfd">XUSBPS_PORTSCR1_OFFSET</a>,              \</div><div class="line">                        <a class="code" href="group__usbps__v2__2.html#ga74d93aa96409e16a96e343829f8216ba">XUSBPS_PORTSCR_FPR_MASK</a>)</div><div class="ttc" id="group__usbps__v2__2_html_ga74d93aa96409e16a96e343829f8216ba"><div class="ttname"><a href="group__usbps__v2__2.html#ga74d93aa96409e16a96e343829f8216ba">XUSBPS_PORTSCR_FPR_MASK</a></div><div class="ttdeci">#define XUSBPS_PORTSCR_FPR_MASK</div><div class="ttdoc">Force Port Resume. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:378</div></div>
<div class="ttc" id="xusbps_8h_html_ab3136c0894811be3b4406dff0d7634f8"><div class="ttname"><a href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a></div><div class="ttdeci">#define XUsbPs_SetBits(InstancePtr, RegOffset, Bits)</div><div class="ttdoc">This macro sets the given bit mask in the register. </div><div class="ttdef"><b>Definition:</b> xusbps.h:986</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga3e6302971cb6f32b61bd601152babdfd"><div class="ttname"><a href="group__usbps__v2__2.html#ga3e6302971cb6f32b61bd601152babdfd">XUSBPS_PORTSCR1_OFFSET</a></div><div class="ttdeci">#define XUSBPS_PORTSCR1_OFFSET</div><div class="ttdoc">Port Control/Status 1. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:134</div></div>
</div><!-- fragment -->
<p>This macro force remote wakeup on host. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#afa7091750e5ec43f625c257e14fbe290" title="This macro force remote wakeup on host. ">XUsbPs_RemoteWakeup(XUsbPs *InstancePtr)</a> </dd></dl>

</div>
</div>
<a id="ab3136c0894811be3b4406dff0d7634f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3136c0894811be3b4406dff0d7634f8">&#9670;&nbsp;</a></span>XUsbPs_SetBits</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_SetBits</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Bits&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps__v2__2.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress, RegOffset,   \</div><div class="line">                <a class="code" href="group__usbps__v2__2.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress,       \</div><div class="line">                                        RegOffset) | (Bits));</div><div class="ttc" id="group__usbps__v2__2_html_gae013de4110ae5cd348830c36a365fb14"><div class="ttname"><a href="group__usbps__v2__2.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a></div><div class="ttdeci">#define XUsbPs_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:504</div></div>
<div class="ttc" id="group__usbps__v2__2_html_gaefd4e31b2628602507b5df0f7d9c934f"><div class="ttname"><a href="group__usbps__v2__2.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a></div><div class="ttdeci">#define XUsbPs_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">This macro writes the given register. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:523</div></div>
</div><!-- fragment -->
<p>This macro sets the given bit mask in the register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>is the register offset to be written. </td></tr>
    <tr><td class="paramname">Bits</td><td>is the Bits to be set in the register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8" title="This macro sets the given bit mask in the register. ">XUsbPs_SetBits(u32 BaseAddress, u32 RegOffset, u32 Bits)</a> </dd></dl>

<p class="reference">Referenced by <a class="el" href="xusbps__ch9__storage_8h.html#a72238ee80cba8facd72277ab2ec271de">XUsbPs_SetConfiguration()</a>.</p>

</div>
</div>
<a id="ab1ce53cae0c030e39b619345bbaef1a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1ce53cae0c030e39b619345bbaef1a0">&#9670;&nbsp;</a></span>XUsbPs_SetIntrThreshold</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_SetIntrThreshold</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Threshold&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__usbps__v2__2.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress,      \</div><div class="line">                                        <a class="code" href="group__usbps__v2__2.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a>, (Threshold))\</div><div class="ttc" id="group__usbps__v2__2_html_gaf4e60df9453b2ca88e075768c80eb362"><div class="ttname"><a href="group__usbps__v2__2.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a></div><div class="ttdeci">#define XUSBPS_CMD_OFFSET</div><div class="ttdoc">Configuration. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:120</div></div>
<div class="ttc" id="group__usbps__v2__2_html_gaefd4e31b2628602507b5df0f7d9c934f"><div class="ttname"><a href="group__usbps__v2__2.html#gaefd4e31b2628602507b5df0f7d9c934f">XUsbPs_WriteReg</a></div><div class="ttdeci">#define XUsbPs_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">This macro writes the given register. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:523</div></div>
</div><!-- fragment -->
<p>This macro sets the Interrupt Threshold value in the control register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">Threshold</td><td>is the Interrupt threshold to be set. Allowed values:<ul>
<li>XUSBPS_CMD_ITHRESHOLD_0 - Immediate interrupt</li>
<li>XUSBPS_CMD_ITHRESHOLD_1 - 1 Frame</li>
<li>XUSBPS_CMD_ITHRESHOLD_2 - 2 Frames</li>
<li>XUSBPS_CMD_ITHRESHOLD_4 - 4 Frames</li>
<li>XUSBPS_CMD_ITHRESHOLD_8 - 8 Frames</li>
<li>XUSBPS_CMD_ITHRESHOLD_16 - 16 Frames</li>
<li>XUSBPS_CMD_ITHRESHOLD_32 - 32 Frames</li>
<li>XUSBPS_CMD_ITHRESHOLD_64 - 64 Frames</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#ab1ce53cae0c030e39b619345bbaef1a0" title="This macro sets the Interrupt Threshold value in the control register. ">XUsbPs_SetIntrThreshold(XUsbPs *InstancePtr, u8 Threshold)</a> </dd></dl>

</div>
</div>
<a id="a232724ca8e31333747d5eb0e7c144695"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a232724ca8e31333747d5eb0e7c144695">&#9670;&nbsp;</a></span>XUsbPs_SetSetupTripwire</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_SetSetupTripwire</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>(InstancePtr, <a class="code" href="group__usbps__v2__2.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a>,  \</div><div class="line">                                <a class="code" href="group__usbps__v2__2.html#ga28d755f3ecc320aea1c7f5d524c6ce04">XUSBPS_CMD_SUTW_MASK</a>)</div><div class="ttc" id="group__usbps__v2__2_html_gaf4e60df9453b2ca88e075768c80eb362"><div class="ttname"><a href="group__usbps__v2__2.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a></div><div class="ttdeci">#define XUSBPS_CMD_OFFSET</div><div class="ttdoc">Configuration. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:120</div></div>
<div class="ttc" id="xusbps_8h_html_ab3136c0894811be3b4406dff0d7634f8"><div class="ttname"><a href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a></div><div class="ttdeci">#define XUsbPs_SetBits(InstancePtr, RegOffset, Bits)</div><div class="ttdoc">This macro sets the given bit mask in the register. </div><div class="ttdef"><b>Definition:</b> xusbps.h:986</div></div>
<div class="ttc" id="group__usbps__v2__2_html_ga28d755f3ecc320aea1c7f5d524c6ce04"><div class="ttname"><a href="group__usbps__v2__2.html#ga28d755f3ecc320aea1c7f5d524c6ce04">XUSBPS_CMD_SUTW_MASK</a></div><div class="ttdeci">#define XUSBPS_CMD_SUTW_MASK</div><div class="ttdoc">Setup TripWire. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:208</div></div>
</div><!-- fragment -->
<p>This macro sets the Tripwire bit in the USB command register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void XUsbPs_SetTripwire(XUsbPs *InstancePtr) </dd></dl>

<p class="reference">Referenced by <a class="el" href="group__usbps__v2__2.html#ga91c44ff9dcae2e47ed8112c8a0779fa1">XUsbPs_EpGetSetupData()</a>.</p>

</div>
</div>
<a id="ad9cfbb6b0afe50174fb8fb126e5ba120"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9cfbb6b0afe50174fb8fb126e5ba120">&#9670;&nbsp;</a></span>XUsbPs_SetupTripwireIsSet</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_SetupTripwireIsSet</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(<a class="code" href="group__usbps__v2__2.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress,      \</div><div class="line">                                <a class="code" href="group__usbps__v2__2.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a>) &amp;                    \</div><div class="line">                                XUSBPS_CMD_SUTW_MASK ? TRUE : FALSE)</div><div class="ttc" id="group__usbps__v2__2_html_gaf4e60df9453b2ca88e075768c80eb362"><div class="ttname"><a href="group__usbps__v2__2.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a></div><div class="ttdeci">#define XUSBPS_CMD_OFFSET</div><div class="ttdoc">Configuration. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:120</div></div>
<div class="ttc" id="group__usbps__v2__2_html_gae013de4110ae5cd348830c36a365fb14"><div class="ttname"><a href="group__usbps__v2__2.html#gae013de4110ae5cd348830c36a365fb14">XUsbPs_ReadReg</a></div><div class="ttdeci">#define XUsbPs_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xusbps_hw.h:504</div></div>
</div><!-- fragment -->
<p>This macro checks if the Tripwire bit in the USB command register is set. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>TRUE: The tripwire bit is still set.</li>
<li>FALSE: The tripwire bit has been cleared.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: int XUsbPs_TripwireIsSet(XUsbPs *InstancePtr) </dd></dl>

</div>
</div>
<a id="af222df779ee9f9dc1d681701a979f3d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af222df779ee9f9dc1d681701a979f3d1">&#9670;&nbsp;</a></span>XUsbPs_Start</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_Start</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="xusbps_8h.html#ab3136c0894811be3b4406dff0d7634f8">XUsbPs_SetBits</a>(InstancePtr, <a class="el" href="group__usbps__v2__2.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a>, <a class="el" href="group__usbps__v2__2.html#ga52456fec470f635fe4e25fbd586e0367">XUSBPS_CMD_RS_MASK</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This macro starts the USB engine. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#af222df779ee9f9dc1d681701a979f3d1" title="This macro starts the USB engine. ">XUsbPs_Start(XUsbPs *InstancePtr)</a> </dd></dl>

</div>
</div>
<a id="af6a63a477b73705c87fc4e4392ab1872"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6a63a477b73705c87fc4e4392ab1872">&#9670;&nbsp;</a></span>XUsbPs_StartTimer0</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_StartTimer0</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Interval&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{                                                                       \</div><div class="line">        XUsbPs_WriteReg((InstancePtr)-&gt;Config.BaseAddress,              \</div><div class="line">                        XUSBPS_TIMER0_LD_OFFSET, (Interval));           \</div><div class="line">        XUsbPs_SetBits(InstancePtr, XUSBPS_TIMER0_CTL_OFFSET,           \</div><div class="line">                        XUSBPS_TIMER_RUN_MASK |                 \</div><div class="line">                        XUSBPS_TIMER_RESET_MASK |                       \</div><div class="line">                        XUSBPS_TIMER_REPEAT_MASK);                      \</div><div class="line">}                                                                       \</div></div><!-- fragment -->
<p>This macro starts the USB Timer 0, with repeat option for period of one second. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller. </td></tr>
    <tr><td class="paramname">Interval</td><td>is the interval for Timer0 to generate an interrupt</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#af6a63a477b73705c87fc4e4392ab1872" title="This macro starts the USB Timer 0, with repeat option for period of one second. ">XUsbPs_StartTimer0(XUsbPs *InstancePtr, u32 Interval)</a> </dd></dl>

</div>
</div>
<a id="a14248be9e30d77cb8f65ecedf8bfbdf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14248be9e30d77cb8f65ecedf8bfbdf0">&#9670;&nbsp;</a></span>XUsbPs_Stop</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_Stop</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a>(InstancePtr, <a class="el" href="group__usbps__v2__2.html#gaf4e60df9453b2ca88e075768c80eb362">XUSBPS_CMD_OFFSET</a>, <a class="el" href="group__usbps__v2__2.html#ga52456fec470f635fe4e25fbd586e0367">XUSBPS_CMD_RS_MASK</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This macro stops the USB engine. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#a14248be9e30d77cb8f65ecedf8bfbdf0" title="This macro stops the USB engine. ">XUsbPs_Stop(XUsbPs *InstancePtr)</a> </dd></dl>

</div>
</div>
<a id="aec886a5a612b352fecd24d60259ebb5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec886a5a612b352fecd24d60259ebb5b">&#9670;&nbsp;</a></span>XUsbPs_StopTimer0</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUsbPs_StopTimer0</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a>(InstancePtr, XUSBPS_TIMER0_CTL_OFFSET,           \</div><div class="line">                XUSBPS_TIMER_RUN_MASK)</div><div class="ttc" id="xusbps_8h_html_a27d356b912141651e96cfef9b100c5f1"><div class="ttname"><a href="xusbps_8h.html#a27d356b912141651e96cfef9b100c5f1">XUsbPs_ClrBits</a></div><div class="ttdeci">#define XUsbPs_ClrBits(InstancePtr, RegOffset, Bits)</div><div class="ttdoc">This macro clears the given bits in the register. </div><div class="ttdef"><b>Definition:</b> xusbps.h:1008</div></div>
</div><!-- fragment -->
<p>This macro stops Timer 0. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to <a class="el" href="struct_x_usb_ps.html" title="The XUsbPs driver instance data. ">XUsbPs</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xusbps_8h.html#aec886a5a612b352fecd24d60259ebb5b" title="This macro stops Timer 0. ">XUsbPs_StopTimer0(XUsbPs *InstancePtr)</a> </dd></dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="aa47418bedd29f6bc36e075b124227eb0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa47418bedd29f6bc36e075b124227eb0">&#9670;&nbsp;</a></span>XUsbPs_BusReset()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XUsbPs_BusReset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb_ps.html">XUsbPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DEVICE mode specific functions. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Copyright &copy; 2015 Xilinx Inc. All rights reserved.</li>
  </ul>
</div>
</body>
</html>
